package co.edu.udea.quejas.DAO.hibernate;

import java.util.ArrayList;
import java.util.List;

import org.hibernate.Criteria;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;

import co.edu.udea.quejas.DAO.TipoSolicitudDAO;
import co.edu.udea.quejas.DTO.TipoSolicitud;
import co.edu.udea.quejas.exception.IWDaoException;

public class TipoSolicitudDAOHibernate extends HibernateDaoSupport implements TipoSolicitudDAO {

	@Override
	public List<TipoSolicitud> obtener() throws IWDaoException {
		Session session =null;
		List<TipoSolicitud> tipos = new ArrayList<TipoSolicitud>();
		try{
		session= (Session) getSession();
		
		Criteria criteria = session.createCriteria(TipoSolicitud.class);
		tipos = criteria.list();
		}catch(HibernateException e){
			throw new IWDaoException(e);
		}finally{
			
			session.close();
		}
		return tipos;
	}

	@Override
	public TipoSolicitud obtener(int idTipo) throws IWDaoException {
		TipoSolicitud tipo = null;
		Session session =null;
		try{
		session= (Session) getSession();
		tipo= (TipoSolicitud) session.get(TipoSolicitud.class, idTipo);	
		
		}catch(HibernateException e){
			throw new IWDaoException(e);
		}finally{
			session.close();
		}
		return tipo;

	}

}
